/**
 * @brief 顺序表的相关算法
 * @author TMJ
 * @version 1.0
 * @date 2023-12-22
 */

#ifndef LINEAR_TABLE_SEQ_LIST_ALGORITHM_H
#define LINEAR_TABLE_SEQ_LIST_ALGORITHM_H

#include "seq_list.h"

// 求顺序表的并集(结果通过list_1返回)
// 将b中没有在a中出现的元素加入a中
template<typename type>
void seqListUnion(SeqList<type> &list_1, SeqList<type> &list_2) {
    int list_1_length = list_1.getLength();
    int list_2_length = list_2.getLength();

    for (int i = 0; i < list_2_length; ++i) {
        type data;
        list_2.getData(i, data);

        int index = list_1.search(data);

        if (index == 0) {
            list_1_length++;
            list_1.insertData(list_1_length, data);
        }
    }
}

#endif